package com.vcc.data.entity;


import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import com.vcc.core.fragment.AESEncryptHandler;
import com.vcc.data.base.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.apache.ibatis.type.JdbcType;

import java.io.Serializable;
import java.util.Date;

/**
 * 持卡人
 */
@Data
@Setter
@Getter
@Table(value = "vcc_cardholder")
public class Cardholder extends BaseEntity implements Serializable {


    @Column(comment = "用户ID", value = "user_id")
    private Long userId;

    @Column(comment = "持卡人姓名", value = "first_name")
    private String firstName;

    @Column(comment = "持卡人姓氏", value = "last_name")
    private String lastName;

    @Column(comment = "国家", value = "country")
    private String country;

    @Column(comment = "省份", value = "province")
    private String province;

    @Column(comment = "城市", value = "city")
    private String city;

    @Column(comment = "区域", value = "area")
    private String area;

    @Column(comment = "邮编", value = "post_code")
    private String postCode;

    @Column(comment = "地址", value = "address")
    private String address;

    @Column(comment = "电话", value = "phone")
    private String phone;

    @Column(comment = "手机号前缀", value = "mobile_prefix")
    private String mobilePrefix;

    @Column(comment = "生日", value = "birthday")
    private String birthday;

    @Column(comment = "邮箱", value = "email")
    private String email;

    @Column(comment = "备注", value = "remark")
    private String remark;

    @Column(comment = "状态", value = "status")
    private Integer status;

    @Column(comment = "持卡人合集", value = "cardholder_info")
    private String cardholderInfo;

    @Column(comment = "账号", value = "account", isLarge = true)
    private String account;

    @Column(comment = "代理账号", value = "dealer_account",ignore = true)
    private String dealerAccount;

    @Column(comment = "共享账户ID", value = "share_account_id")
    private Long shareAccountId;
}
